Design, Implementation and Evaluation of A Compiler-Directed Distributed Shared Virtual Memory System
نویسندگان
چکیده
This paper presents the design, implementation and performance evaluation of Locust, a distributed shared virtual memory system that uses compile-time data dependency information to improve performance. The thesis of the Locust project is that the distributed shared memory program performance can closely approximate message passing program performance if compiler-generated data dependency information is eeectively exploited. Locust uses this information to address the issues of false sharing, coherence maintenance, data prefetching, and aanity scheduling. Locust also features a function-shipping approach to support operations on mutual exclusion objects and thereby sig-niicantly reducing network traac. The rst Locust prototype is implemented on a network of 90-MHz Pentium PCI machines running FreeBSD 2.0.5 connected by a 100 Mbps Fast Ethernet. For our test parallel applications Locust performs within 6-13% of message-passing programs, and its simple load balancing scheme always achieves 75% to 85% of the performance of a perfect load balancing scheme.
منابع مشابه
On the Design and Implementation of DSM-Threads
This paper discusses design goals, design decisions, and implementation choices of DSM-Threads, a runtime system to support distributed threads with a distributed shared virtual memory (DSM). DSM-Threads provides a distributed runtime system with a kernel on each node, which relies on POSIX threads locally and a decentralized communication subsystem between nodes. Support for multiple data cons...
متن کاملE cient Implementation of Software Release Consistency on Asymmetric Distributed Shared Memory
We have proposed an \Asymmetric Distributed Shared Memory: ADSM", that provides users with efcient shared memory model. The ADSM is a hybrid system that needs not only the operating system support but also the compiler support. The ADSM executes a load instruction as the shared-read with the assistance of virtual memory mechanism. As for the shared-write, the ADSM executes a sequence of instruc...
متن کاملImplementation and Performance Evaluation of Locust
This paper presents the implementation and performance evaluation of Locust, a compiler-directed distributed shared memory system on a network of workstations. The thesis of the Locust project is that the distributed shared memory program performance can closely approximate message passing program performance if compiler-generated data dependency information is eeectively exploited. Locust uses...
متن کاملOrca: a Portable User-Level Shared Object System *
Orca is an object-based distributed shared memory system that is designed for writing portable and efficient parallel programs. Orca hides the communication substrate from the programmer by providing an abstract communication model based on shared objects. Mutual exclusion and condition synchronization are cleanly integrated in the model. Orca has been implemented using a layered system, consis...
متن کاملDistributed Shared-memory Threads: Dsm-threads { Description of Work in Progress {
This paper is, to our knowledge, the rst description of a system to support distributed threads on top of POSIX Threads (Pthreads) via distributed virtual shared memory (DSM). The aim of DSM-Threads is to provide an easy way for a programmer to migrate from a concurrent programming model with shared memory (Pthreads) to a distributed model with minimal changes of the application code. Thus, a p...
متن کامل